package java学习.第05章_数组;

/**
 * 数组（Array）：是多个相同类型数据按一定顺序排列的集合，
 *              并使用一个名字命名，并通过编号的方式对这些数据进行统一管理。
 *  下标从 0 开始
 *
 * - 基本数据类型元素的数组：每个元素位置存储基本数据类型的值
 * - 引用数据类型元素的数组：每个元素位置存储对象
 *                      （本质是存储对象的首地址）（在面向对象部分讲
 *
 * 数组属于引用数据类型（传递的是地址）
 *      数组中的元素可以是基本数据类型 也 可以是引用数据类型
 *
 * 数组长度一定，就不可更改长度
 *
 *
 */
public class A_为什么要数组 {
    public static void main(String[] args) {
        数组使用();

    }

    private static void 数组使用() {
        int[] a = new int[10];//动态初始化
        int[] a1 = new int[]{1,3,4,5,6,7};//静态初始化
        int[] a2 = {1,3,4,5,6,7};//类型推断 java自动推断

        a[6] = 66;//这个6表示偏移量  所以从0开始
        //a[10] = 66;//ArrayIndexOutOfBoundsException  数组 角标超出范围
        intToInt(a);//会改变数组
        intToInt(a[1]);//不会改变数组
        System.out.println(a.length);//数组大小
        for (int i = 0; i < 10; i++) {
            System.out.println(a[i]);
        }
    }

    private static void intToInt(int a){
        a=10;
    }
    private static void intToInt(int[] a){
        a[5]=10;
    }
}
